package com.etocrm.saas.lib.base.common.obj;

import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.Data;

/**
 * 分页vo对象
 */
@Data
public class PageVo extends BaseVo {

    protected Long currentPage;

    protected Long pageSize;

    protected Long totalPage;

    protected Long totalCount;

    public static PageVo empty() {
        PageVo vo = new PageVo();
        vo.setCurrentPage(0L);
        vo.setPageSize(0L);
        vo.setTotalPage(0L);
        vo.setTotalCount(0L);
        return vo;
    }

    /**
     * 根据传入的Ipage对象 初始化pageVo
     *
     * @param iPage 分页查询后返回的结果对象.
     * @return PageVo
     */
    public static PageVo initPageVo(IPage iPage) {
        PageVo pageVo = new PageVo();
        pageVo.setCurrentPage(iPage.getCurrent());
        pageVo.setPageSize(iPage.getSize());
        pageVo.setTotalPage(iPage.getPages());
        pageVo.setTotalCount(iPage.getTotal());
        return pageVo;
    }


}
